using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Thaire.Investment.Domains.Transaction
{
   
    public class InstructionDetail 
    {
        #region Properties
              // INSTRUCTION_DETAIL_ID
        public virtual int InstructionDetailID { set; get; }
      // INSTRUCTION_HEADER_ID
        public virtual int? InstructionHeaderID { set; get; }
      // INSTRUMENT_HEADER_ID
        public virtual int? InstrumentHeaderID { set; get; }
      // INSTRUMENT_PURCHASE_ID
        public virtual int? InstrumentPurchaseID { set; get; }
      // INSTRUMENT_TRANSACTION_ID
        public virtual int? InstrumentTransactionID { set; get; }
      // INSTRUCTION_NO_TRANSACTION_TYPE
        public virtual String InstructionNOTransactionType { set; get; }
      // INSTRUCTION_NO_INSTRUCTION_COUNTERPARTY_NAME
        public virtual String InstructionNOInstructionCounterpartyName { set; get; }
      // INSTRUCTION_NO_INSTRUCTION_COUNTERPARTY_ID
        public virtual int? InstructionNOInstructionCounterpartyID { set; get; }
      // INSTRUCTION_NO_ISSUER_TERM
        public virtual decimal? InstructionNOIssuerTerm { set; get; }
      // INSTRUCTION_NO_TRADE_DATE
        public virtual DateTime? InstructionNOTradeDate { set; get; }
      // INSTRUCTION_NO_SETTLEMENT_DATE
        public virtual DateTime? InstructionNOSettlementDate { set; get; }
      // INSTRUCTION_NO_UNIT
        public virtual int? InstructionNOUnit { set; get; }
      // INSTRUCTION_NO_PAR
        public virtual decimal? InstructionNOPar { set; get; }
      // INSTRUCTION_NO_YIELD
        public virtual decimal? InstructionNOYield { set; get; }
      // INSTRUCTION_NO_COUPON_PAYMENT_DATE
        public virtual DateTime? InstructionNOCouponPaymentDate { set; get; }
      // INSTRUCTION_NO_COUPON
        public virtual decimal? InstructionNOCoupon { set; get; }
      // INSTRUCTION_NO_PURCHASE_VALUE
        public virtual decimal? InstructionNOPurchaseValue { set; get; }
      // INSTRUCTION_COUNTERPARTY_NAME
        public virtual String InstructionCounterpartyName { set; get; }
      // INSTRUCTION_COUNTERPARTY_ID
        public virtual int? InstructionCounterpartyID { set; get; }
      // INSTRUCTION_REF_NO
        public virtual String InstructionRefNO { set; get; }
      // MATURITY_DATE
        public virtual DateTime? MaturityDate { set; get; }

        #endregion

        

        public override bool Equals(object obj)
        {
            if(obj == null)
                return false;
            if(obj.GetType() != typeof(InstructionDetail) && !(obj is InstructionDetail))
                return false;
            return ToString().Equals(obj.ToString());
        }

        public override int GetHashCode()
        {
            return ToString().GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0}",InstructionDetailID);
        }

    }


}